#pragma once

#include <singleton.h>

enum
{
	SO_EXPORT_SCENE,
	SO_EXPORT_WORLD_TM,
	SO_EXPORT_LOCAL_TM
};

enum
{
	CM_DXT1,
	CM_DXT1_DXT3,
	CM_DXT1_DXT5,
	CM_ARGB
};

class dialog : public singleton<dialog>
{
public:
	dialog();
	virtual ~dialog();

	virtual bool execute();

	int scene_export_option() const;
	int compression_method_option() const;

	bool convert_textures() const;
	bool generate_mipmaps() const;
	bool export_animations() const;
	bool export_skeleton() const;

protected:
	virtual BOOL init();
	virtual BOOL run(int arg);
	virtual BOOL done();

	virtual INT_PTR proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);

	static INT_PTR CALLBACK DialogProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);

protected:
	HWND	m_hwnd;

private:
	int m_scene_option;
	int m_compression_method;

	bool m_generate_mipmaps;
	bool m_convert_textures;
	bool m_node_anims;
	bool m_skeletal_anims;
};